home *** CD-ROM | disk | FTP | other *** search
-
- WARNING!
- Microsoft's QuickBASIC compilers versions 3.0 - 4.0 have bugs in them
- that affect ADVBAS users!
-
-
-
- QuickBASIC 3.0:
- If you compile a program using ADVBAS in the programming environment
- with the compile-to-BCOM30 option, the results will be unreliable at
- best. If you need to generate stand-alone programs, do not use the
- programming environment with compile-to-BCOM30. Instead, compile
- from the command line. Check your QuickBASIC manual for more
- information if you are unfamiliar with that method. A typical syntax
- will be:
-
- QB filename/O;
-
- with a letter "O", not the number zero. You may need additional
- switches besides the "/O", depending on your program.
-
-
-
- QuickBASIC 4.0:
- If you compile a program using ADVBAS in the programming environment
- to an EXE file, your program will be much larger than it should be,
- if it is correctly created at all. QB4 generates an unusual and
- arguably inappropriate syntax for linking the file. Instead of using
- the environment to compile to EXE files, use the stand-alone BC.EXE
- compiler from the command line. A typical syntax will be:
-
- BC filename;
- LINK filename/EX,,NUL,ADVBAS
-
- You can also use the standard switches with BC to produce different
- output: "/O" for stand-alone (as opposed to BRUN-dependent), "/D" for
- debug, "/ZI" for CodeView, and so forth. Check your QB manual for
- more details.
-
- Also note that Microsoft has changed the internal handling of static
- arrays (not a bug as such, but certainly a nuisance), which
- means that GETSCREEN and PUTSCREEN will not work with QuickBASIC 4.0.
- Other array routines will work with the stand-alone version of the
- compiler, BC.EXE, but not in the programming environment provided by
- QB.EXE (due to a bug in QB.EXE). So, you will be able to use all
- array routines except GETSCREEN and PUTSCREEN, but only in programs
- compiled using BC.EXE, not in the programming environment. It is
- possible to get around this problem, which I have done with the
- commercial version of the library, ProBas. However, the changes to
- the routines are fairly drastic, and I can't put them in ADVBAS
- without violating my contract with HCSI. So, if you really need to
- use the array routines in the QB4 environment, get yourself a copy of
- ProBas (see the PROBAS.DOC file). It's guaranteed to be a more
- effective solution than trying to get Microsoft to fix the problem!
-
- QuickBASIC 4.0 also zeroes the comm ports in the BIOS RAM area when
- you use communications. At a guess, this is for OS/2 and other
- multitaskers, so other programs don't try to use the comm ports when
- QB is using them. It causes a number of problems, though-- if your
- program crashes, the computer will forget that it ever had comm ports
- until you reboot. This also interacts badly with CHAIN, so you can't
- reliably use CHAIN with communications.
-
- There have been a number of bugs reported with fixed-length strings
- and long integers. The amount of available string space has been
- decreased, which can be a real problem. QB4 is also extremely
- machine-dependent, and will not necessarily work on your clone.
-